/*
Description
给定一段连续的整数，求出他们中所有偶数的平方和及所有奇数的立方和。
Input
有若干组测试数据。每组测试数据包含一行，由两个整数m和n组成。
Output
对于每组输入数据，输出一行，分别表示该段连续的整数（包括两个整数m和n在内）中所有偶数的平方和 以及 所有奇数的立方和。（int类型足够保存结果）
Sample Input
1 3
2 5
Sample Output
4 28
20 152
*/

#include <stdio.h>

int main()
{
	int a,b,sumo[100],sume[100],n=0; //o代表偶数 e代表奇数 sumo和sume分别用于存储各组奇偶数的计算结果 
	while(scanf("%d%d",&a,&b)==2) //如果两个数都成功读入
	{
		int sum_o=0,sum_e=0; //sum_o和sum_e用于存储当前组奇偶数的计算结果 并于计算结束后分别保存至数组sumo和sume
		for(;a<=b;a++) //按照题目要求，从a递增到b 这里不用设置for的第一个条件，但不能遗漏分号 
		 	if(a%2==0) //如果为偶数  
		 		sum_o+=a*a; //计算偶数的平方和 
		 	else //否则为奇数 
		 		sum_e+=a*a*a; //计算奇数的立方和 
		sumo[n]=sum_o;
		sume[n]=sum_e;
		n++;
	}
	for(int i=0;i<n;i++) 
	{
		printf("%d %d",sumo[i],sume[i]); //打印各组数据的计算结果 
		if(i<n-1) printf("\n"); //在每一行结果后打印换行符，最后一行不打印 
	}
	return 0;
}

/*改进思考：可以用一个二维数组sum[][]代替sumo[]和sume[]*/
